package com.sunlee.common.service.service;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.sunlee.common.core.entity.PageData;
import com.sunlee.common.service.dto.ProductDTO;
import com.sunlee.common.service.dto.ProductListDTO;
import com.sunlee.common.service.dto.req.ProductWaterfallsFlowDTO;
import com.sunlee.common.service.entity.ProductEntity;

import java.util.List;
import java.util.Map;

/**
 * 商品表
 *
 * @author sunlee
 */
public interface ProductService extends CrudService<ProductEntity, ProductDTO> {

    void deleteRelByIds(Long[] ids);

    PageData<ProductListDTO> searchPage(Map<String, Object> params);

    List<ProductEntity> selectList(LambdaQueryWrapper<ProductEntity> wrapper);

    /**
     * 首页瀑布流
     */
    PageData<ProductDTO> homeWaterfallsFlow(ProductWaterfallsFlowDTO request);

    List<ProductEntity> getAny(LambdaQueryWrapper<ProductEntity> wrapper, Integer limit);
}